Allow overriding the linker
authorRoberto Vargas <[email protected]>
Fri, 13 Apr 2018 13:26:47 +0000 (14:26 +0100)
committerRoberto Vargas <[email protected]>
Wed, 11 Jul 2018 08:22:51 +0000 (09:22 +0100)
This patch allows the user to override the value of the LD Makefile
variable. This feature can be used to force the use of the new Clang
linker.

Change-Id: I97ffeb18e48fa75346702a479d7dc1e8abcb3621
Signed-off-by: Roberto Vargas <[email protected]>
Makefile

index 180c5584208deff7f2361a027bb3cd03f7d38c38..ed45fa3fc31ab48c762e3d8a45e630c0d9df9b35 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -119,7 +119,7 @@ CC                  :=      ${CROSS_COMPILE}gcc
 CPP                    :=      ${CROSS_COMPILE}cpp
 AS                     :=      ${CROSS_COMPILE}gcc
 AR                     :=      ${CROSS_COMPILE}ar
-LD                     :=      ${CROSS_COMPILE}ld
+LINKER                 :=      ${CROSS_COMPILE}ld
 OC                     :=      ${CROSS_COMPILE}objcopy
 OD                     :=      ${CROSS_COMPILE}objdump
 NM                     :=      ${CROSS_COMPILE}nm
@@ -128,8 +128,8 @@ DTC                 :=      dtc
 
 # Use ${LD}.bfd instead if it exists (as absolute path or together with $PATH).
 ifneq ($(strip $(wildcard ${LD}.bfd) \
-       $(foreach dir,$(subst :, ,${PATH}),$(wildcard ${dir}/${LD}.bfd))),)
-LD                     :=      ${LD}.bfd
+       $(foreach dir,$(subst :, ,${PATH}),$(wildcard ${dir}/${LINKER}.bfd))),)
+LINKER                 :=      ${LINKER}.bfd
 endif
 
 ifeq (${ARM_ARCH_MAJOR},7)
@@ -143,12 +143,15 @@ endif
 ifeq ($(notdir $(CC)),armclang)
 TF_CFLAGS_aarch32      =       -target arm-arm-none-eabi $(march32-directive)
 TF_CFLAGS_aarch64      =       -target aarch64-arm-none-eabi -march=armv8-a
+LD                     =       $(LINKER)
 else ifneq ($(findstring clang,$(notdir $(CC))),)
 TF_CFLAGS_aarch32      =       $(target32-directive)
 TF_CFLAGS_aarch64      =       -target aarch64-elf
+LD                     =       $(LINKER)
 else
 TF_CFLAGS_aarch32      =       $(march32-directive)
 TF_CFLAGS_aarch64      =       -march=armv8-a
+LD                     =       $(LINKER)
 endif
 
 TF_CFLAGS_aarch32      +=      -mno-unaligned-access